package com.ant.storage.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author melon
 * @since 2024-05-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("storage_contract")
@ApiModel(value="StorageContract对象", description="")
public class StorageContract implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("city_id")
    private Integer cityId;

    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "合同编号")
    @TableField("contract_number")
    private String contractNumber;

    @ApiModelProperty(value = "合同名称")
    @TableField("contract_name")
    private String contractName;

    @ApiModelProperty(value = "主体业务类型")
    @TableField("square_metre")
    private String squareMetre;

    @ApiModelProperty(value = "使用时间")
    @TableField("usage_time")
    private String usageTime;

    @ApiModelProperty(value = "合同使用商标")
    @TableField("contract_trademark")
    private String contractTrademark;

    @ApiModelProperty(value = "签订单位名称")
    @TableField("unit_name")
    private String unitName;

    @ApiModelProperty(value = "联系人")
    private String contacts;

    @ApiModelProperty(value = "联系电话")
    private String telephone;

    @ApiModelProperty(value = "合同金额")
    private String amount;

    @ApiModelProperty(value = "押金")
    private Integer numbers;

    @ApiModelProperty(value = "经办人")
    private String handle;

    @ApiModelProperty(value = "支付方式")
    private String subjects;

    @ApiModelProperty(value = "合同时间")
    @TableField("contract_time")
    private String contractTime;

    @ApiModelProperty(value = "合同截止")
    @TableField("contract_end")
    private String contractEnd;

    @ApiModelProperty(value = "是否回收 0 正常  1 到期")
    @TableField("is_recycle")
    private Integer isRecycle;

    @ApiModelProperty(value = "是否扫描")
    @TableField("is_scan")
    private Integer isScan;

    @ApiModelProperty(value = "合同到期时间")
    @TableField("collection_date")
    private String collectionDate;

    @ApiModelProperty(value = "备注")
    private String notes;

    @TableField("creator_by")
    private String creatorBy;

    @TableField("creation_time")
    private Date creationTime;

    private String annex;

    @TableField("contract_pdf")
    private String contractPdf;

    @ApiModelProperty(value = "票据")
    @TableField(exist = false)
    private List<PurchaserRecordImg> annexList;


    @TableField(exist = false)
    private List<PurchaserRecordImg> contractPdfTUrl;

    @ApiModelProperty(value = "支付明细")
    @TableField(exist = false)
    private List<StoragePayment> paymentList;


    @ApiModelProperty(value = "类型")
    @TableField("contract_type")
    private Integer contractType;

}
